Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Операційні системи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ / Звіт до лабораторної роботи №5 З КУРСУ «ОПЕРАЦІЙНІ СИСТЕМИ» Варіант 14 Мета роботи: Ознайомлення з методами вирішення проблеми синхронізації потоків в C#, отримання практичних навичок виправлення помилок синхронізації в багатопотокових застосуваннях, створених на платформі .NET . Завдання Для вивчення основних можливостей службового застосування "Редактор Реєстру" виконати наступне. Побудувати алгоритм програми, яка вирішує завдання оптимізації виконання певних операцій над матрицями з використанням багатопотоковості. Завдання наведені в таблиці відповідно до варіанту. Використовуючи засоби VisualStudio(C#, C++, …) створіть програму, що вирішує дане завдання (в консольному чи WinForms режимі). № вар. Кількість потоків Завдання  10 3 Сума 2-х матриць (3x3).   Код програми using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace lab4 { class ThreadClass { SemaphoreSlim sem = new SemaphoreSlim(7); int[,] c = new int[4, 4]; int[,] a = { { 1, 1, 1, 1}, { 2, 2, 2, 2}, { 3, 3, 3, 3}, { 4, 4, 4, 4}}; int[,] b = { { 1, 1, 1, 1}, { 2, 2, 2, 2}, { 3, 3, 3, 3}, { 4, 4, 4, 4}}; public  double SUM; public void SetMas() { WriteMas(a); WriteMas(b); } public void WriteMas(int[,] aa) { Console.WriteLine(); for (int i = 0; i <= 3; i++) { for (int j = 0; j <= 3; j++) { Console.Write("{0} ", aa[i, j]); } Console.WriteLine(); } } public void writestring1() { sem.Wait(); for (int i = 0; i <= 0; i++) { for (int j = 0; j <= 3; j++) { c[i, j] = a[i, 0] * b[0, j] + a[i, 1] * b[1, j] + a[i, 2] * b[2, j] + a[i, 3] * b[3, j]; } } sem.Release(); } public void writestring2() { sem.Wait(); for (int i = 1; i <= 1; i++) { for (int j = 0; j <= 1; j++) { c[i, j] = a[i, 0] * b[0, j] + a[i, 1] * b[1, j] + a[i, 2] * b[2, j] + a[i, 3] * b[3, j]; } } sem.Release(); } public void writestring3() { sem.Wait(); for (int i = 1; i <= 1; i++) { for (int j = 2; j <= 3; j++) { c[i, j] = a[i, 0] * b[0, j] + a[i, 1] * b[1, j] + a[i, 2] * b[2, j] + a[i, 3] * b[3, j]; } } sem.Release(); } public void writestring4() { sem.Wait(); for (int i = 2; i <= 2; i++) { for (int j = 0; j <= 1; j++) { c[i, j] = a[i, 0] * b[0, j] + a[i, 1] * b[1, j] + a[i, 2] * b[2, j] + a[i, 3] * b[3, j]; } } sem.Release(); } public void writesthring5() { sem.Wait(); for (int i = 2; i <= 2; i++) { for (int j = 2; j <= 3; j++) { c[i, j] = a[i, 0] * b[0, j] + a[i, 1] * b[1, j] + a[i, 2] * b[2, j] + a[i, 3] * b[3, j]; } } sem.Release(); } public void writestring6() { sem.Wait(); for (int i = 3; i <= 3; i++) { for (int j = 0; j <= 1; j++) { c[i, j] = a[i, 0] * b[0, j] + a[i, 1] * b[1, j] + a[i, 2] * b[2, j] + a[i, 3] * b[3, j]; } } sem.Release(); } public void writestring7() ...
Антиботан аватар за замовчуванням

12.06.2015 19:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини